草庐IT

c++ - 无效指针 : difference between C and C++

全部标签

go - 如何调用采用包含指针的 c 结构的 c 函数

从RaspberryPI上的GO程序我试图调用一个函数(转换为C函数的Matlab函数)并且该函数的输入是一个指向结构的指针,该结构包含指向double(数据)的指针和一个指向int(size)和两个int(allocatedSize,numDimensions)的指针。我尝试了几种方法但没有任何效果,当我通过编译时它通常会抛出一个panic:运行时错误:当我运行程序时,cgo参数有指向Go指针的Go指针。sumArray.c/*sumArray.C*//*Includefiles*/#include"sumArray.h"/*FunctionDefinitions*/doublesu

go - 在 Gin 框架中,无效字符 'P' 正在寻找值的开头

当我使用Gin时,c.shouldBindJson无法正常工作。我在postman中测试我的RESTAPI并得到错误响应Request{Username:"asdasd",Password:"asdasdasd",Email:"123@123.com"}Response:Postmangivesmetheresponse{"code":400,"error":"invalidcharacter'U'lookingforbeginningofvalue",}结构这是数据结构typeWebRegisterDatastruct{Usernamestring`json:"username"`P

go - chromedp 收到无效的 CSRF token 错误; Puppeteer 和浏览器都可以

我正在使用chromedp来测试我的基于Go的网站。虽然我设法用它进行了基本的登录测试,但当我尝试注销我刚刚登录的帐户时遇到CSRF错误。这是获取CSRF错误的测试函数及其主要助手。httpServerURL是正在运行的实时网络服务器或httptest.Server.URL的基本URL(无论哪种方式,我都会收到相同的CSRF错误):funcTestSignupDuplicate(t*testing.T){ctx,cancel:=context.WithTimeout(context.Background(),3*time.Second)defercancel()ctx,cancel=c

pointers - 为什么 golang 中的字符串指针在范围循环中的行为违反直觉?

这个问题在这里已经有了答案:UsingPointersinaforloop(2个答案)Howtounderstandthisbehaviorofgoroutine?(2个答案)GolangReusingMemoryAddressCopyingfromslice?(2个答案)Registermultipleroutesusingrangeforloopslices/map(1个回答)Convertsliceofstringtosliceofpointertostring(2个答案)关闭7个月前。使用此代码:https://play.golang.org/p/tCm1W-K-6ob此代码将

c - Windows DLL 文件的正确构建模式是什么?

这两个步骤:gcc-cmain.cgcc-oa.exemain.oMyThing.dll非常适合制作可以调用MyThing.dll内部方法的Windowsexe。注意没有-c的gccmain.c会给出如下错误:未定义对MyThing_method的引用但是,当尝试使用cgo在Golang程序中使同一个系统工作时,我遇到了与使用没有-c的gcc时相同的undefinedreference错误。我读过:https://github.com/golang/go/wiki/WindowsDLLs并且很想尝试使用syscall.NewLazyDLL但我的问题是我的foo.go文件正在调用C.So

c - 如何将 Go 函数作为参数传递给 C 函数?

我正在尝试将Go函数传递给C函数。类似于:stm:=C.struct_tray_menu{....fn://definitionofmethod....}C.menu_cb(stm);并将其传递给C函数:staticvoidmenu_cb(structtray_menu*item){(void)item;printf("menu:clickedon%s\n",item->text);}我只是想知道如何定义像C.function这样的东西。 最佳答案 主要问题是对c中go定义的误解。所以最终代码看起来像//exportcallOnMe

c - 如何从 C 库中检索 probuf

我正在尝试使用GoogleProtocolBuffers与Go中的C库进行通信,但我无法使其正常工作。我在尝试将protobuf发送到C库时遇到错误我将发布最少的代码来重现我现在面临的错误(我删除了大部分C部分,因为它与此错误无关):/*#cgoCFLAGS:-I@CURRENT_SOURCE_DIR@/../../library/crnd/include-I@CMAKE_CURRENT_BINARY_DIR@/../../library#cgoLDFLAGS:-L@CRND_LIBRARY_PATH@-lcrnd#include#include#include#includetype

go - 如何在 Go 中获取指向 Interface{} 的底层值的指针

我正在使用cgo与Go中的C代码交互,我需要使用指向Interface{}对象中的基础值的指针来调用C函数。该值将是任何原子原始类型(不包括complex64/complex128)或string。我希望我能够做这样的事情来获取ptr的地址作为unsafe.Pointer:unsafe.Pointer(reflect.ValueOf(ptr).UnsafeAddr())但是由于值无法寻址,这会导致panic。与此类似的问题是Takeaddressofvalueinsideaninterface,但这个问题是不同的,因为在这种情况下,已知该值将始终是上面指定的类型之一(最多64位),我只

pointers - X不实现Y(…方法具有指针接收器)

Closed.Thisquestionneedsdetailsorclarity。它当前不接受答案。想改善这个问题吗?添加详细信息,并通过editingthispost阐明问题。6个月前关闭。Improvethisquestion关于“X不能实现Y(...方法具有指针接收器)”的问题,已经有一些问答,但是对我来说,他们似乎在谈论不同的事情,而不适用于我的具体情况。因此,我没有使问题变得非常具体,而是使之变得笼统和抽象-似乎有几种不同的情况可以使此错误发生,请有人总结一下吗?即,如何避免该问题,如果发生,可能性是什么?谢谢。 最佳答案

websocket - 将 io 字符串转为 int Atoi 无效参数

我正在尝试用Go语言解析来自WebSockets连接的字符串。我正在实现连接的两端,因此数据格式的规范仅取决于我。由于这是一个简单的应用程序(通常用于学习目的),我想出了ActionIdData,其中ActionId是一个uint8。BackendHandler是WebSocket连接中每个请求的处理程序。平台信息kuba:~$echo{$GOARCH,$GOOS,`6g-V`}amd64linux6gversionrelease.r60.39516代码:const(//SpecifiesActionId'sSabPause=iota)funcBackendHandler(ws*web